package com.example.doubledatasource.vo;

import lombok.Data;
import lombok.Builder;

import java.math.BigDecimal;

/**
 * 产品值对象
 * 用于返回给前端的产品展示数据
 * 
 * @author example
 * @since 1.0.0
 */
@Data
@Builder
public class ProductVO {

    private Long id;
    
    private String name;
    
    private String description;
    
    private BigDecimal price;
    
    private Integer stock;
    
    /**
     * 格式化后的价格字符串
     */
    private String priceStr;
    
    /**
     * 库存状态文本
     */
    private String stockStatusText;
    
    /**
     * 格式化后的创建时间
     */
    private String createTimeStr;
    
    /**
     * 格式化后的更新时间
     */
    private String updateTimeStr;
    
    /**
     * 获取库存状态
     */
    public String getStockStatus() {
        if (stock == null || stock <= 0) {
            return "缺货";
        } else if (stock <= 10) {
            return "库存紧张";
        } else {
            return "有库存";
        }
    }
    
    /**
     * 是否有库存
     */
    public boolean isInStock() {
        return stock != null && stock > 0;
    }
}
